/*
 * @Description: 文件描述
 * @Author: 陈三愿
 * @Date: 2025-09-22 22:54:54
 * @LastEditTime: 2025-10-04 13:39:12
 */
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { ValidationPipe } from '@nestjs/common';
// 使用 require 导入 cookie-parser
const cookieParser = require('cookie-parser');

async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  // 全局管道 - 用于验证请求数据
  app.useGlobalPipes(
    new ValidationPipe({
      whitelist: true, // 过滤掉非DTO中定义的属性
      transform: true, // 自动转换类型
    }),
  );

  // 使用 cookie-parser 中间件
  app.use(cookieParser());

  // 全局前缀
  app.setGlobalPrefix('api');

  // TODO：允许跨域并支持凭据
  app.enableCors({
    origin: 'http://localhost:3000', // 替换为你的前端域名
    credentials: true,
  });

  const port = process.env.PORT ?? 9527;
  await app.listen(port);

  console.log(`应用已启动，监听端口: ${port}`);
}
bootstrap();
